package com.tulingxueyuan.mall.modules.oms.service;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.tulingxueyuan.mall.dto.AddCarDTO;
import com.tulingxueyuan.mall.dto.CartItemStockDTO;
import com.tulingxueyuan.mall.modules.oms.model.OmsCartItem;

import java.util.List;

/**
 * <p>
 * 购物车表 服务类
 * </p>
 *
 * @author XuShu
 * @since 2024-05-19
 */
public interface OmsCartItemService extends IService<OmsCartItem> {

    boolean add(AddCarDTO addCarDTO);

    /**
     * 初始化状态栏的购物车商品数量
     *  this.axios.get('/car/products/sum').then((res=0)=>{
     *         // 存全局变量
     *         this.$store.dispatch('saveCartCount',res);
     *       })
     */
    Integer getCartCount();

    /**
     * 初始化购物车页面的数据
     * @return
     */
    List<CartItemStockDTO> getCartList();

    /**
     * 更新商品数量
     *
     * @param id
     * @param quantity
     * @return
     */
    boolean updateQuantity(Long id, Integer quantity);

    /**
     * 删除购物车商品
     * @param id
     * @return
     */
    boolean delete(Long id);

    List<CartItemStockDTO> getCartItemStockByIds(QueryWrapper<OmsCartItem> queryWrapper);
}
